package pck_tramitedocu.pck_web;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.ConcurrentModificationException;
import java.util.HashMap;
import java.util.Map;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import pck_tramitedocu.pck_src.pck_pojos.Cls_Trabajador;
import pck_tramitedocu.pck_src.pck_pojos.TramiteDocuException;
import pck_tramitedocu.pck_src.pck_utiles.Cls_Parametros;
import pck_tramitedocu.pck_src.pck_utiles.cls_json_data;
import pck_tramitedocu.pck_src.pck_utiles.cls_utilitarios;
import pck_tramitedocu.pck_web.pck_utiles.Cls_UtilesParaWeb;

public class svl_gestion_facade_web_usuarios extends HttpServlet {

    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        /*  30 */ response.setContentType("text/html;charset=UTF-8");
        /*  31 */ PrintWriter out = response.getWriter();
        try {
            /*  33 */ int opt = 0;
            try {
                /*  35 */ opt = Integer.parseInt(request.getParameter("opt"));
            } catch (Exception ex) {
            }
            /*  39 */ String data_json = "";
            /*  40 */ switch (opt) {
                case 1:
                    /*  42 */ data_json = obtenerUsuarioParaDestinoDocumentoSvl(request);
                    /*  43 */ break;
                case 2:
                    /*  45 */ data_json = obtenerUsuarioEpsGrauSvl(request);
                    /*  46 */ break;
                case 3:
                    /*  48 */ data_json = obtenerTipoUsuarioEpsGrauSvl(request);
                    /*  49 */ break;
                case 4:
                    /*  51 */ data_json = agregarTipoUsuarioEpsGrauSvl(request);
                    /*  52 */ break;
                case 5:
                    /*  54 */ data_json = obtenerArbolTipoUsuario(request);
                    /*  55 */ break;
                case 6:
                    /*  57 */ data_json = agregarArbolTipoUsuario(request);
                    /*  58 */ break;
                case 7:
                    /*  60 */ data_json = obtenerUsuarioMail(request);
                    /*  61 */ break;
                case 8:
                    /*  63 */ data_json = obtenerUsuarioParaFirmaSvl(request);
                    /*  64 */ break;
                case 9:
                    /*  66 */ data_json = obtenerUsuarioParaComisionSvl(request);
                    /*  67 */ break;
                case 10:
                    /*  69 */ data_json = obtenerJefaturasComoPersonasSvl(request);
                    /*  70 */ break;
                case 11:
                        data_json = obtenerTrabajadorCargosDocumentoSvl(request);
                        break;
                case 95:
                    /*  75 */ data_json = cambiarContraUsuarioLogueado(request);
                    /*  76 */ break;
                case 96:
                    /*  78 */ data_json = obtenerInformacionUsuarioLogueado(request);
                    /*  79 */ break;
                case 97:
                    /*  81 */ data_json = obtenerTipoUsuarioLogueado(request);
                    /*  82 */ break;
                case 98:
                    /*  84 */ data_json = reiniciarContadorArchivo(request);
                    /*  85 */ break;
                case 99:
                    /*  87 */ data_json = cambiarEstadoUsuario(request);
            }

            /*  90 */ out.print(data_json);
        } finally {
            /*  92 */ out.close();
        }
    }
    private String obtenerJefaturasComoPersonasSvl(HttpServletRequest request) {
        /* 107 */ Map map = cls_utilitarios.generarHashMapParaRequest(new Map[]{Cls_UtilesParaWeb.obtenerParametrosDeGrilla(request)});
        /* 108 */ int page = 0;
        try {
            /* 110 */ page = new Integer(request.getParameter("page")).intValue();
        } catch (NumberFormatException ex) {
            /* 112 */ page = 1;
        }

        /* 115 */ return cls_utilitarios.generarContextoJsonDesdeObject(new cls_json_data(svl_gestion_facade_web.facadeInterface.obtenerTodosJefaturasParaFirmaEpsGrauBusiness(map), 1, new int[]{page, svl_gestion_facade_web.facadeInterface.obtenerCantidadUnidadesFacade(map)}));
    }

    private String cambiarContraUsuarioLogueado(HttpServletRequest request) {
        /* 123 */ String contrasena = request.getParameter("dsadasdadasfgdhgfgsfds");
        /* 124 */ String contrasena_new = request.getParameter("dasfgdhgfgsfdsdasdadadsadsa");
        /* 125 */ String contrasena_confirmar = request.getParameter("dasfgdhgfgsfdsdasdadadsadsasda");
        /* 126 */ String message = "";
        /* 127 */ Cls_Trabajador trabajador = (Cls_Trabajador) request.getSession().getAttribute("usuarioObjeto");
        /* 128 */ if (contrasena.compareToIgnoreCase(trabajador.getContrasena()) != 0) {
            /* 129 */ message = "Contraseña Actual no Coincide";
        } else {
            if (contrasena_new.equals(contrasena_confirmar)) {
            /* 131 */ trabajador.setContrasena(contrasena_new);
            /* 132 */ svl_gestion_facade_web.facadeInterface.agregarUsuarioEnPostgrestFacade(trabajador);
            /* 133 */ message = "Contraseña Actualizada Correctamente";
            } else {
            /* 134 */ message = "Contraseñas Nuevas no Coinciden";
            }
        }
        /* 135 */ 
        return cls_utilitarios.generarContextoJsonDesdeObject(new cls_json_data(message));
    }

    private String obtenerInformacionUsuarioLogueado(HttpServletRequest request) {
        /* 137 */ Cls_Trabajador trabajador = (Cls_Trabajador) request.getSession().getAttribute("usuarioObjeto");
        /* 138 */ 
        return cls_utilitarios.generarContextoJsonDesdeObject(new cls_json_data(trabajador));
    }

    private String obtenerTipoUsuarioLogueado(HttpServletRequest request) {
        /* 142 */ String tipo_usuario = "" + ((Cls_Trabajador) request.getSession().getAttribute("usuarioObjeto")).getTipo_usuario_area();
        /* 143 */ return cls_utilitarios.generarContextoJsonDesdeObject(new cls_json_data(tipo_usuario));
    }

    private String obtenerUsuarioParaFirmaSvl(HttpServletRequest request) {
        /* 147 */ String[] parametrosParaFacade_01 = {"param_filtro", "" + request.getParameter("dasfgdhgfgsfds")};
        /* 148 */ Map map = cls_utilitarios.generarHashMapParaRequest(new Map[]{cls_utilitarios.generarHashMapParaRequest(new String[][]{parametrosParaFacade_01})});
        /* 149 */ map = cls_utilitarios.generarHashMapParaRequest(new Map[]{map, Cls_UtilesParaWeb.obtenerParametrosDeGrilla(request)});
        /* 150 */ int page = 0;
        try {
            /* 152 */ page = new Integer(request.getParameter("page")).intValue();
        } catch (NumberFormatException ex) {
            /* 154 */ page = 1;
        }

        /* 157 */ return cls_utilitarios.generarContextoJsonDesdeObject(new cls_json_data(svl_gestion_facade_web.facadeInterface.obtenerTodosUsuariosParaFirmaEpsGrauFacade(map), 1, new int[]{page, svl_gestion_facade_web.getFacade().obtenerCantidadTrabajadoresRrhhFacade(map)}));
    }

    private String obtenerUsuarioParaComisionSvl(HttpServletRequest request) {
        String[] parametrosParaFacade_01 = {"param_filtro", "" + request.getParameter("dasfgdhgfgsfds")};
        Map map = cls_utilitarios.generarHashMapParaRequest(new Map[]{cls_utilitarios.generarHashMapParaRequest(new String[][]{parametrosParaFacade_01})});
        map = cls_utilitarios.generarHashMapParaRequest(new Map[]{map, Cls_UtilesParaWeb.obtenerParametrosDeGrilla(request)});
        int page = 0;
        try {
            page = new Integer(request.getParameter("page")).intValue();
        } catch (NumberFormatException ex) {
            page = 1;
        }
        return cls_utilitarios.generarContextoJsonDesdeObject(
            new cls_json_data(svl_gestion_facade_web.facadeInterface.obtenerTodosUsuariosParaComisionEpsGrauFacade(map), 1,
                new int[]{page, svl_gestion_facade_web.getFacade().obtenerCantidadTrabajadoresRrhhFacade(map)}));
    }

    private String obtenerUsuarioMail(HttpServletRequest request) {
        /* 182 */ Map map = Cls_UtilesParaWeb.obtenerParametrosDeGrilla(request);
        /* 183 */ int page = 0;
        try {
            /* 185 */ page = new Integer(request.getParameter("page")).intValue();
        } catch (NumberFormatException ex) {
            /* 187 */ page = 1;
        }
        /* 189 */ return cls_utilitarios.generarContextoJsonDesdeObject(new cls_json_data(svl_gestion_facade_web.facadeInterface.obtenerTodosUsuariosMailFacade(map), 1, new int[]{page, svl_gestion_facade_web.facadeInterface.obtenerCantidadTrabajadoresMailRrhhFacade(map)}));
    }

    private String agregarArbolTipoUsuario(HttpServletRequest request) {
        /* 197 */ String[] parametrosParaFacade_01 = {"param_tipUs", "" + request.getParameter("dssdsadsadasadadsadadasfgdhgfgsfds")};
        /* 198 */ String[] parametrosParaFacade_02 = {"param_menu", "" + request.getParameter("dsdsadadadssdsadsadasadadsadadasfgdhgfgsfds")};
        try {
            /* 199 */
            return cls_utilitarios.generarContextoJsonDesdeObject(new cls_json_data(Boolean.valueOf(svl_gestion_facade_web.facadeInterface.agregarMenuTipoUsuarioDao(cls_utilitarios.generarHashMapParaRequest(parametrosParaFacade_01, parametrosParaFacade_02)))));
        } catch (TramiteDocuException ex) {
            return cls_utilitarios.generarContextoJsonDesdeObject(new cls_json_data("0-ERROR-" + ex.getUserException()));
        }
    }

    private String obtenerArbolTipoUsuario(HttpServletRequest request) {
        /* 206 */ String[] parametrosParaFacade_01 = {"param_tipUs", "" + request.getParameter("dssdsadsadasadadsadadasfgdhgfgsfds")};
        try {
            /* 207 */
            return cls_utilitarios.generarContextoJsonDesdeObject(new cls_json_data(svl_gestion_facade_web.facadeInterface.obtenerThreeUsuarioFacade(cls_utilitarios.generarHashMapParaRequest(parametrosParaFacade_01))));
        } catch (TramiteDocuException ex) {
            return cls_utilitarios.generarContextoJsonDesdeObject(new cls_json_data("0-ERROR-" + ex.getClass().getSimpleName()));
        }
    }

    private String agregarTipoUsuarioEpsGrauSvl(HttpServletRequest request) {
        /* 212 */ Cls_Trabajador user = new Cls_Trabajador(request.getParameter("sadadsadadasfgdhgfgsfds"));
        /* 213 */ user.setTipo_usuario_area(new Integer(request.getParameter("dssdsadsadasadadsadadasfgdhgfgsfds")).intValue());
        /* 214 */ return cls_utilitarios.generarContextoJsonDesdeObject(new cls_json_data(Boolean.valueOf(svl_gestion_facade_web.facadeInterface.agregarUsuario(user))));
    }

    private String obtenerTipoUsuarioEpsGrauSvl(HttpServletRequest request) {
        /* 219 */ String[] parametrosParaFacade_01 = {"mp_dni", "" + request.getParameter("sadadsadadasfgdhgfgsfds")};
        /* 220 */ Map map = cls_utilitarios.generarHashMapParaRequest(new String[][]{parametrosParaFacade_01});
        /* 221 */ return cls_utilitarios.generarContextoJsonDesdeObject(new cls_json_data(Integer.valueOf(svl_gestion_facade_web.facadeInterface.obteneTipoUsuarioDeTrabajadorFacade(map))));
    }

    private String obtenerUsuarioEpsGrauSvl(HttpServletRequest request) {
        /* 226 */ String[] parametrosParaFacade_01 = {"param_filtro", "" + request.getParameter("dasfgdhgfgsfds")};
        /* 227 */ Map map = cls_utilitarios.generarHashMapParaRequest(new Map[]{cls_utilitarios.generarHashMapParaRequest(new String[][]{parametrosParaFacade_01})});
        /* 228 */ map = cls_utilitarios.generarHashMapParaRequest(new Map[]{map, Cls_UtilesParaWeb.obtenerParametrosDeGrilla(request)});
        /* 229 */ int page = 0;
        try {
            /* 231 */ page = new Integer(request.getParameter("page")).intValue();
        } catch (NumberFormatException ex) {
            /* 233 */ page = 1;
        }

        /* 236 */ return cls_utilitarios.generarContextoJsonDesdeObject(new cls_json_data(svl_gestion_facade_web.facadeInterface.obtenerTodosUsuariosEpsGrauFacade(map), 1, new int[]{page, svl_gestion_facade_web.getFacade().obtenerCantidadTrabajadoresRrhhFacade(map)}));
    }

    private String cambiarEstadoUsuario(HttpServletRequest request) {
        /* 244 */ boolean estado = new Boolean(request.getParameter("dsafdsgfdhfdyter")).booleanValue();
        /* 245 */ ((Cls_Trabajador) request.getSession().getAttribute("usuarioObjeto")).setVa_proyectar(Boolean.valueOf(estado));
        /* 246 */ return "";
    }

    private String reiniciarContadorArchivo(HttpServletRequest request) {
        try {
            /* 250 */ while (((ArrayList) request.getSession().getAttribute("usuarioObjetoList")).size() > 0) /* 251 */ {
                ((ArrayList) request.getSession().getAttribute("usuarioObjetoList")).remove(0);
            }
        } catch (ConcurrentModificationException ex) {
        } catch (NullPointerException ex) {
        }
        /* 256 */ ((Cls_Trabajador) request.getSession().getAttribute("usuarioObjeto")).setTamanio_archivo("0.0");
        /* 257 */ ((Cls_Trabajador) request.getSession().getAttribute("usuarioObjeto")).setCant_archivo_puede_copiar("0");
        try {
            /* 259 */ if (request.getParameter("dsagdsfsfgdffsafasadsa") == null) /* 260 */ {
                request.getSession().setAttribute(Cls_Parametros.TAMANIO_ARCHIVOS_MB, "2");
            } else /* 262 */ {
                request.getSession().setAttribute(Cls_Parametros.TAMANIO_ARCHIVOS_MB, "1000");
            }
        } catch (NullPointerException ex) {
            /* 265 */ request.getSession().setAttribute(Cls_Parametros.TAMANIO_ARCHIVOS_MB, "2");
        }
        /* 267 */ return "";
    }

    private String obtenerUsuarioParaDestinoDocumentoSvl(HttpServletRequest request) {
        String[] parametrosParaFacade_01 = {"mp_dni", ((Cls_Trabajador) request.getSession().getAttribute("usuarioObjeto")).getCodigo()};

        String[] parametrosParaFacade_02 = {"mp_tip_user", "" + ((Cls_Trabajador) request.getSession().getAttribute("usuarioObjeto")).getTipo_usuario_area()};

        Map map = cls_utilitarios.generarHashMapParaRequest(new String[][]{parametrosParaFacade_01, parametrosParaFacade_02});
        map = cls_utilitarios.generarHashMapParaRequest(new Map[]{map, Cls_UtilesParaWeb.obtenerParametrosDeGrilla(request)});

        int page = 0;
        try {
            page = new Integer(request.getParameter("page")).intValue();
        } catch (NumberFormatException ex) {
            page = 1;
        }

        return cls_utilitarios.generarContextoJsonDesdeObject(new cls_json_data(svl_gestion_facade_web.facadeInterface.obtenerTodosUsuariosEpsGrauFacade(map), 1, new int[]{page, svl_gestion_facade_web.facadeInterface.obtenerCantidadTrabajadoresRrhhFacade(map)}));
    }
    
    private String obtenerTrabajadorCargosDocumentoSvl(HttpServletRequest request) {
        Map map = new HashMap();
        map.put(Cls_Parametros.Request_DATO_A_BUSCAR, request.getParameter("dni"));
        return cls_utilitarios.generarContextoJsonDesdeObject(
                new cls_json_data(svl_gestion_facade_web.facadeInterface.obtenerTrabajadorCargosEpsGrauFacade(map)));
    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {
        processRequest(request, response);
    }
    protected void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {
        processRequest(request, response);
    }
}